package com.booksystem.service;

import com.booksystem.dto.CustomerServiceTicketAddDTO;
import com.booksystem.dto.CustomerServiceTicketQueryDTO;
import com.booksystem.dto.CustomerServiceTicketReplyDTO;
import com.booksystem.dto.CustomerServiceTicketUpdateStatusDTO;
import com.booksystem.entity.CustomerServiceTicketDO;
import com.github.pagehelper.PageInfo;

/**
 * <p>
 *   客服工单 Service 接口
 * </p>
 * @author 段伟豪
 */
public interface CustomerServiceTicketService {

    /**
     * 提交客服工单
     *
     * @param addDTO 添加参数
     * @return 是否成功
     */
    Boolean submitTicket(CustomerServiceTicketAddDTO addDTO);

    /**
     * 查询客服工单列表
     *
     * @param queryDTO 查询参数
     * @return 工单列表
     */
    PageInfo<CustomerServiceTicketDO> getTicketsList(CustomerServiceTicketQueryDTO queryDTO);

    /**
     * 更新客服工单状态
     *
     * @param updateStatusDTO 更新状态参数
     * @return 是否成功
     */
    Boolean updateTicketStatus(CustomerServiceTicketUpdateStatusDTO updateStatusDTO);

    /**
     * 回复客服工单
     *
     * @param replyDTO 回复参数
     * @return 是否成功
     */
    Boolean replyTicket(CustomerServiceTicketReplyDTO replyDTO);
}